Deep learning is a technology used to cluster or classify objects or data. For example, computers cannot distinguish dogs and cats from photographs alone. But a human can easily distinguish those two. To this end, a method called “machine learning” was devised. It is a technique to allow a computer to classify similar things among lots of data inputted into the computer. When a photo of an animal similar to a dog is inputted, the computer will classify it as a dog photo.
There have already been many machine learning algorithms to classify data. For example, a decision tree, a Bayesian network, a support vector machine (SVM), an artificial neural network, etc. have been developed. The deep learning is a descendant of the artificial neural network.
Deep Convolution Neural Networks (Deep CNNs) are the heart of the remarkable development in deep learning. CNNs have already been used in the 90's to solve the problem of character recognition, but their use has become as widespread as it is now thanks to recent research. These deep CNNs won the 2012 ImageNet image classification tournament, crushing other competitors. Then, the convolution neural network became a very useful tool in the field of the machine learning.
FIG. 1 shows an example of various outputs to be acquired from a photograph using a deep CNN according to prior art.
Classification is a method for identifying a type of a class to be acquired from a photograph, for example, as shown in FIG. 1, determining whether an acquired object is a person, a lamb, or a dog. Detection is a method for finding every object and displaying the found object as enclosed in a bounding box. Segmentation is a method for distinguishing a region of a specific object from other objects in a photograph. As the deep learning has recently become popular, the classification, the detection, and the segmentation are using the deep learning heavily.
FIG. 2 is a diagram schematically illustrating a detection method by using the CNN.
By referring to FIG. 2, the learning device receives an input image and applies a plurality of operations to the input image in a plurality of filters (or convolutional layers) to thereby obtain a feature map, then allows the feature map to pass through a detection layer to thereby obtain at least one bounding box, and then allows the bounding box to pass through the filtering layer to thereby obtain a detection result. Then, backpropagation is performed by using a loss value obtained by referring to the detection result and a ground truth (GT) which has been annotated by a person in advance to thereby allow a detector (i.e., the learning device) to gradually make the detection result get closer to the GT.
On the other hand, in consecutive frames (or a plurality of frames close to each other as in the consecutive frames) such as a video, objects at the same or similar locations should be recognized as the same object. However, in case a difference is large between feature values at the same or similar location in the two frames, which are consecutive or close to each other (e.g., two frames when the number of frames existing between the two frames is equal to or less than a threshold number), the object may be successfully detected in one frame but may not be detected in the other frame.